var app = getApp();
const db = wx.cloud.database();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    color: "",
    is_login: false,
    starCount: 0,
    forksCount: 0,
    visitTotal: 0,
    is_bind: false,
    show: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */

  onLoad: function (options) {

    console.log("用户开始初始化");
    this.setData({
      is: wx.getStorageSync('is_login')
    })

    if (this.data.is) {
      wx.showLoading({
        title: '数据加载中',
      })
    }
    this.get_my_num();

  },


  onClose() {
    this.setData({ show: false });
  },

  showPopup() {
    this.setData({ show: true });
  },

  more() {
    wx.showToast({
      title: '正在开发中',
      icon: 'success'
    })
  },

  toLogin: function () {
    wx.navigateTo({
      url: '/pages/login/login',
    })
  },
  unLogin() {
    wx.showLoading({
      title: '解绑中...',
    })
    this.setData({
      is_bind: false
    })
    wx.setStorageSync('is_bind', false)
    wx.hideLoading()
    //云函数中将用户记录的状态表示设置为解绑状态，同时本地更新绑定缓存
  },
  get_my_num() {
    const that = this;
    console.log("开始初始化 浏览数、点赞数、评论数");

    // 校园动态
    db.collection('schoolDynamic').where({
      is_star: true
    })
      .get({
        success: function (res) {
          console.log(res.data);
          const num = res.data.length;
          // 通知公告
          db.collection('notice').where({
            is_star: true
          })
            .get({
              success: function (res) {
                console.log(res.data);
                that.setData({
                  starCount: res.data.length + num
                })

                wx.hideLoading()
              }
            })
        }
      })

  },

  // 授权，读取用户的头像昵称，同时检查是不是新用户
  getUserProfile(e) {
    const that = this;
    // 先登录，获取到openid，然后存起来
    // 然后下面进行获取用户数据
    wx.getUserProfile({
      desc: '为了更好的体验',
      success: res => {
        console.log(res);
        const { avatarUrl, nickName, gender } = res.userInfo;

        db.collection('users').where({
          _openid: wx.getStorageSync('openid')
        }).update({
          // data 传入需要局部更新的数据
          data: {
            avatarUrl,
            nickName,
            gender
          },
          success: function (res) {
            console.log(res);
            that.setData({
              is: true
            })
          },
          fail: function (err) {
            console.log(err);
          }
        })

        that.init(res.userInfo);

      }
    })

  },

  init(userInfo) {
    const { avatarUrl, nickName, gender } = userInfo;

    app.globalData.is_login = true; // 已经授权过用户头像和昵称了，is_login变为true
    wx.setStorageSync('is_login', true); // 设置本地缓存

    app.globalData.user_data.avatarUrl = avatarUrl;
    app.globalData.user_data.nickName = nickName;
    app.globalData.user_data.gender = gender;
    wx.setStorageSync('user', app.globalData.user_data); // 更新一下本地缓存

    wx.showToast({
      title: '授权成功',
      icon: 'success'
    });

    this.setData({
      show: false,
      is_login: true
    })

  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      is: wx.getStorageSync('is_login')
    })

    if (this.data.is) {
      wx.showLoading({
        title: '数据加载中',
      })
    }
    this.get_my_num();
  },
  
  go_my_share() {
    wx.navigateTo({
      url: './myContent',
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },
  coutNum(e) {
    if (e > 1000 && e < 10000) {
      e = (e / 1000).toFixed(1) + 'k'
    }
    if (e > 10000) {
      e = (e / 10000).toFixed(1) + 'W'
    }
    return e
  },
  CopyLink(e) {
    wx.setClipboardData({
      data: e.currentTarget.dataset.link,
      success: res => {
        wx.showToast({
          title: '已复制',
          duration: 1000,
        })
      }
    })
  },
  showModal(e) {
    this.setData({
      modalName: e.currentTarget.dataset.target
    })
  },
  hideModal(e) {
    this.setData({
      modalName: null
    })
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

})